/**
 * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 */

package com.vportal.portlet.vfaq.service.base;

import com.liferay.counter.service.CounterLocalService;

import com.liferay.portal.kernel.bean.BeanReference;
import com.liferay.portal.kernel.bean.IdentifiableBean;
import com.liferay.portal.kernel.dao.jdbc.SqlUpdate;
import com.liferay.portal.kernel.dao.jdbc.SqlUpdateFactoryUtil;
import com.liferay.portal.kernel.dao.orm.DynamicQuery;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
import com.liferay.portal.kernel.search.Indexer;
import com.liferay.portal.kernel.search.IndexerRegistryUtil;
import com.liferay.portal.kernel.search.SearchException;
import com.liferay.portal.kernel.util.OrderByComparator;
import com.liferay.portal.model.PersistedModel;
import com.liferay.portal.service.PersistedModelLocalServiceRegistryUtil;
import com.liferay.portal.service.ResourceLocalService;
import com.liferay.portal.service.ResourceService;
import com.liferay.portal.service.UserLocalService;
import com.liferay.portal.service.UserService;
import com.liferay.portal.service.persistence.ResourcePersistence;
import com.liferay.portal.service.persistence.UserPersistence;

import com.vportal.portlet.vfaq.model.FAQCategoryQuestion;
import com.vportal.portlet.vfaq.service.FAQAnswerLocalService;
import com.vportal.portlet.vfaq.service.FAQCategoryLocalService;
import com.vportal.portlet.vfaq.service.FAQCategoryQuestionLocalService;
import com.vportal.portlet.vfaq.service.FAQCommentLocalService;
import com.vportal.portlet.vfaq.service.FAQQuestionLocalService;
import com.vportal.portlet.vfaq.service.persistence.FAQAnswerFinder;
import com.vportal.portlet.vfaq.service.persistence.FAQAnswerPersistence;
import com.vportal.portlet.vfaq.service.persistence.FAQCategoryFinder;
import com.vportal.portlet.vfaq.service.persistence.FAQCategoryPersistence;
import com.vportal.portlet.vfaq.service.persistence.FAQCategoryQuestionPersistence;
import com.vportal.portlet.vfaq.service.persistence.FAQCommentFinder;
import com.vportal.portlet.vfaq.service.persistence.FAQCommentPersistence;
import com.vportal.portlet.vfaq.service.persistence.FAQQuestionFinder;
import com.vportal.portlet.vfaq.service.persistence.FAQQuestionPersistence;

import java.io.Serializable;

import java.util.List;

import javax.sql.DataSource;

/**
 * The base implementation of the f a q category question local service.
 *
 * <p>
 * This implementation exists only as a container for the default service methods generated by ServiceBuilder. All custom service methods should be put in {@link com.vportal.portlet.vfaq.service.impl.FAQCategoryQuestionLocalServiceImpl}.
 * </p>
 *
 * @author DucNN
 * @see com.vportal.portlet.vfaq.service.impl.FAQCategoryQuestionLocalServiceImpl
 * @see com.vportal.portlet.vfaq.service.FAQCategoryQuestionLocalServiceUtil
 * @generated
 */
public abstract class FAQCategoryQuestionLocalServiceBaseImpl
	implements FAQCategoryQuestionLocalService, IdentifiableBean {
	/*
	 * NOTE FOR DEVELOPERS:
	 *
	 * Never modify or reference this class directly. Always use {@link com.vportal.portlet.vfaq.service.FAQCategoryQuestionLocalServiceUtil} to access the f a q category question local service.
	 */

	/**
	 * Adds the f a q category question to the database. Also notifies the appropriate model listeners.
	 *
	 * @param faqCategoryQuestion the f a q category question
	 * @return the f a q category question that was added
	 * @throws SystemException if a system exception occurred
	 */
	public FAQCategoryQuestion addFAQCategoryQuestion(
		FAQCategoryQuestion faqCategoryQuestion) throws SystemException {
		faqCategoryQuestion.setNew(true);

		faqCategoryQuestion = faqCategoryQuestionPersistence.update(faqCategoryQuestion,
				false);

		Indexer indexer = IndexerRegistryUtil.getIndexer(getModelClassName());

		if (indexer != null) {
			try {
				indexer.reindex(faqCategoryQuestion);
			}
			catch (SearchException se) {
				if (_log.isWarnEnabled()) {
					_log.warn(se, se);
				}
			}
		}

		return faqCategoryQuestion;
	}

	/**
	 * Creates a new f a q category question with the primary key. Does not add the f a q category question to the database.
	 *
	 * @param id the primary key for the new f a q category question
	 * @return the new f a q category question
	 */
	public FAQCategoryQuestion createFAQCategoryQuestion(long id) {
		return faqCategoryQuestionPersistence.create(id);
	}

	/**
	 * Deletes the f a q category question with the primary key from the database. Also notifies the appropriate model listeners.
	 *
	 * @param id the primary key of the f a q category question
	 * @throws PortalException if a f a q category question with the primary key could not be found
	 * @throws SystemException if a system exception occurred
	 */
	public void deleteFAQCategoryQuestion(long id)
		throws PortalException, SystemException {
		FAQCategoryQuestion faqCategoryQuestion = faqCategoryQuestionPersistence.remove(id);

		Indexer indexer = IndexerRegistryUtil.getIndexer(getModelClassName());

		if (indexer != null) {
			try {
				indexer.delete(faqCategoryQuestion);
			}
			catch (SearchException se) {
				if (_log.isWarnEnabled()) {
					_log.warn(se, se);
				}
			}
		}
	}

	/**
	 * Deletes the f a q category question from the database. Also notifies the appropriate model listeners.
	 *
	 * @param faqCategoryQuestion the f a q category question
	 * @throws SystemException if a system exception occurred
	 */
	public void deleteFAQCategoryQuestion(
		FAQCategoryQuestion faqCategoryQuestion) throws SystemException {
		faqCategoryQuestionPersistence.remove(faqCategoryQuestion);

		Indexer indexer = IndexerRegistryUtil.getIndexer(getModelClassName());

		if (indexer != null) {
			try {
				indexer.delete(faqCategoryQuestion);
			}
			catch (SearchException se) {
				if (_log.isWarnEnabled()) {
					_log.warn(se, se);
				}
			}
		}
	}

	/**
	 * Performs a dynamic query on the database and returns the matching rows.
	 *
	 * @param dynamicQuery the dynamic query
	 * @return the matching rows
	 * @throws SystemException if a system exception occurred
	 */
	@SuppressWarnings("rawtypes")
	public List dynamicQuery(DynamicQuery dynamicQuery)
		throws SystemException {
		return faqCategoryQuestionPersistence.findWithDynamicQuery(dynamicQuery);
	}

	/**
	 * Performs a dynamic query on the database and returns a range of the matching rows.
	 *
	 * <p>
	 * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set.
	 * </p>
	 *
	 * @param dynamicQuery the dynamic query
	 * @param start the lower bound of the range of model instances
	 * @param end the upper bound of the range of model instances (not inclusive)
	 * @return the range of matching rows
	 * @throws SystemException if a system exception occurred
	 */
	@SuppressWarnings("rawtypes")
	public List dynamicQuery(DynamicQuery dynamicQuery, int start, int end)
		throws SystemException {
		return faqCategoryQuestionPersistence.findWithDynamicQuery(dynamicQuery,
			start, end);
	}

	/**
	 * Performs a dynamic query on the database and returns an ordered range of the matching rows.
	 *
	 * <p>
	 * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set.
	 * </p>
	 *
	 * @param dynamicQuery the dynamic query
	 * @param start the lower bound of the range of model instances
	 * @param end the upper bound of the range of model instances (not inclusive)
	 * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
	 * @return the ordered range of matching rows
	 * @throws SystemException if a system exception occurred
	 */
	@SuppressWarnings("rawtypes")
	public List dynamicQuery(DynamicQuery dynamicQuery, int start, int end,
		OrderByComparator orderByComparator) throws SystemException {
		return faqCategoryQuestionPersistence.findWithDynamicQuery(dynamicQuery,
			start, end, orderByComparator);
	}

	/**
	 * Returns the number of rows that match the dynamic query.
	 *
	 * @param dynamicQuery the dynamic query
	 * @return the number of rows that match the dynamic query
	 * @throws SystemException if a system exception occurred
	 */
	public long dynamicQueryCount(DynamicQuery dynamicQuery)
		throws SystemException {
		return faqCategoryQuestionPersistence.countWithDynamicQuery(dynamicQuery);
	}

	public FAQCategoryQuestion fetchFAQCategoryQuestion(long id)
		throws SystemException {
		return faqCategoryQuestionPersistence.fetchByPrimaryKey(id);
	}

	/**
	 * Returns the f a q category question with the primary key.
	 *
	 * @param id the primary key of the f a q category question
	 * @return the f a q category question
	 * @throws PortalException if a f a q category question with the primary key could not be found
	 * @throws SystemException if a system exception occurred
	 */
	public FAQCategoryQuestion getFAQCategoryQuestion(long id)
		throws PortalException, SystemException {
		return faqCategoryQuestionPersistence.findByPrimaryKey(id);
	}

	public PersistedModel getPersistedModel(Serializable primaryKeyObj)
		throws PortalException, SystemException {
		return faqCategoryQuestionPersistence.findByPrimaryKey(primaryKeyObj);
	}

	/**
	 * Returns a range of all the f a q category questions.
	 *
	 * <p>
	 * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set.
	 * </p>
	 *
	 * @param start the lower bound of the range of f a q category questions
	 * @param end the upper bound of the range of f a q category questions (not inclusive)
	 * @return the range of f a q category questions
	 * @throws SystemException if a system exception occurred
	 */
	public List<FAQCategoryQuestion> getFAQCategoryQuestions(int start, int end)
		throws SystemException {
		return faqCategoryQuestionPersistence.findAll(start, end);
	}

	/**
	 * Returns the number of f a q category questions.
	 *
	 * @return the number of f a q category questions
	 * @throws SystemException if a system exception occurred
	 */
	public int getFAQCategoryQuestionsCount() throws SystemException {
		return faqCategoryQuestionPersistence.countAll();
	}

	/**
	 * Updates the f a q category question in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
	 *
	 * @param faqCategoryQuestion the f a q category question
	 * @return the f a q category question that was updated
	 * @throws SystemException if a system exception occurred
	 */
	public FAQCategoryQuestion updateFAQCategoryQuestion(
		FAQCategoryQuestion faqCategoryQuestion) throws SystemException {
		return updateFAQCategoryQuestion(faqCategoryQuestion, true);
	}

	/**
	 * Updates the f a q category question in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
	 *
	 * @param faqCategoryQuestion the f a q category question
	 * @param merge whether to merge the f a q category question with the current session. See {@link com.liferay.portal.service.persistence.BatchSession#update(com.liferay.portal.kernel.dao.orm.Session, com.liferay.portal.model.BaseModel, boolean)} for an explanation.
	 * @return the f a q category question that was updated
	 * @throws SystemException if a system exception occurred
	 */
	public FAQCategoryQuestion updateFAQCategoryQuestion(
		FAQCategoryQuestion faqCategoryQuestion, boolean merge)
		throws SystemException {
		faqCategoryQuestion.setNew(false);

		faqCategoryQuestion = faqCategoryQuestionPersistence.update(faqCategoryQuestion,
				merge);

		Indexer indexer = IndexerRegistryUtil.getIndexer(getModelClassName());

		if (indexer != null) {
			try {
				indexer.reindex(faqCategoryQuestion);
			}
			catch (SearchException se) {
				if (_log.isWarnEnabled()) {
					_log.warn(se, se);
				}
			}
		}

		return faqCategoryQuestion;
	}

	/**
	 * Returns the f a q answer local service.
	 *
	 * @return the f a q answer local service
	 */
	public FAQAnswerLocalService getFAQAnswerLocalService() {
		return faqAnswerLocalService;
	}

	/**
	 * Sets the f a q answer local service.
	 *
	 * @param faqAnswerLocalService the f a q answer local service
	 */
	public void setFAQAnswerLocalService(
		FAQAnswerLocalService faqAnswerLocalService) {
		this.faqAnswerLocalService = faqAnswerLocalService;
	}

	/**
	 * Returns the f a q answer persistence.
	 *
	 * @return the f a q answer persistence
	 */
	public FAQAnswerPersistence getFAQAnswerPersistence() {
		return faqAnswerPersistence;
	}

	/**
	 * Sets the f a q answer persistence.
	 *
	 * @param faqAnswerPersistence the f a q answer persistence
	 */
	public void setFAQAnswerPersistence(
		FAQAnswerPersistence faqAnswerPersistence) {
		this.faqAnswerPersistence = faqAnswerPersistence;
	}

	/**
	 * Returns the f a q answer finder.
	 *
	 * @return the f a q answer finder
	 */
	public FAQAnswerFinder getFAQAnswerFinder() {
		return faqAnswerFinder;
	}

	/**
	 * Sets the f a q answer finder.
	 *
	 * @param faqAnswerFinder the f a q answer finder
	 */
	public void setFAQAnswerFinder(FAQAnswerFinder faqAnswerFinder) {
		this.faqAnswerFinder = faqAnswerFinder;
	}

	/**
	 * Returns the f a q category local service.
	 *
	 * @return the f a q category local service
	 */
	public FAQCategoryLocalService getFAQCategoryLocalService() {
		return faqCategoryLocalService;
	}

	/**
	 * Sets the f a q category local service.
	 *
	 * @param faqCategoryLocalService the f a q category local service
	 */
	public void setFAQCategoryLocalService(
		FAQCategoryLocalService faqCategoryLocalService) {
		this.faqCategoryLocalService = faqCategoryLocalService;
	}

	/**
	 * Returns the f a q category persistence.
	 *
	 * @return the f a q category persistence
	 */
	public FAQCategoryPersistence getFAQCategoryPersistence() {
		return faqCategoryPersistence;
	}

	/**
	 * Sets the f a q category persistence.
	 *
	 * @param faqCategoryPersistence the f a q category persistence
	 */
	public void setFAQCategoryPersistence(
		FAQCategoryPersistence faqCategoryPersistence) {
		this.faqCategoryPersistence = faqCategoryPersistence;
	}

	/**
	 * Returns the f a q category finder.
	 *
	 * @return the f a q category finder
	 */
	public FAQCategoryFinder getFAQCategoryFinder() {
		return faqCategoryFinder;
	}

	/**
	 * Sets the f a q category finder.
	 *
	 * @param faqCategoryFinder the f a q category finder
	 */
	public void setFAQCategoryFinder(FAQCategoryFinder faqCategoryFinder) {
		this.faqCategoryFinder = faqCategoryFinder;
	}

	/**
	 * Returns the f a q category question local service.
	 *
	 * @return the f a q category question local service
	 */
	public FAQCategoryQuestionLocalService getFAQCategoryQuestionLocalService() {
		return faqCategoryQuestionLocalService;
	}

	/**
	 * Sets the f a q category question local service.
	 *
	 * @param faqCategoryQuestionLocalService the f a q category question local service
	 */
	public void setFAQCategoryQuestionLocalService(
		FAQCategoryQuestionLocalService faqCategoryQuestionLocalService) {
		this.faqCategoryQuestionLocalService = faqCategoryQuestionLocalService;
	}

	/**
	 * Returns the f a q category question persistence.
	 *
	 * @return the f a q category question persistence
	 */
	public FAQCategoryQuestionPersistence getFAQCategoryQuestionPersistence() {
		return faqCategoryQuestionPersistence;
	}

	/**
	 * Sets the f a q category question persistence.
	 *
	 * @param faqCategoryQuestionPersistence the f a q category question persistence
	 */
	public void setFAQCategoryQuestionPersistence(
		FAQCategoryQuestionPersistence faqCategoryQuestionPersistence) {
		this.faqCategoryQuestionPersistence = faqCategoryQuestionPersistence;
	}

	/**
	 * Returns the f a q comment local service.
	 *
	 * @return the f a q comment local service
	 */
	public FAQCommentLocalService getFAQCommentLocalService() {
		return faqCommentLocalService;
	}

	/**
	 * Sets the f a q comment local service.
	 *
	 * @param faqCommentLocalService the f a q comment local service
	 */
	public void setFAQCommentLocalService(
		FAQCommentLocalService faqCommentLocalService) {
		this.faqCommentLocalService = faqCommentLocalService;
	}

	/**
	 * Returns the f a q comment persistence.
	 *
	 * @return the f a q comment persistence
	 */
	public FAQCommentPersistence getFAQCommentPersistence() {
		return faqCommentPersistence;
	}

	/**
	 * Sets the f a q comment persistence.
	 *
	 * @param faqCommentPersistence the f a q comment persistence
	 */
	public void setFAQCommentPersistence(
		FAQCommentPersistence faqCommentPersistence) {
		this.faqCommentPersistence = faqCommentPersistence;
	}

	/**
	 * Returns the f a q comment finder.
	 *
	 * @return the f a q comment finder
	 */
	public FAQCommentFinder getFAQCommentFinder() {
		return faqCommentFinder;
	}

	/**
	 * Sets the f a q comment finder.
	 *
	 * @param faqCommentFinder the f a q comment finder
	 */
	public void setFAQCommentFinder(FAQCommentFinder faqCommentFinder) {
		this.faqCommentFinder = faqCommentFinder;
	}

	/**
	 * Returns the f a q question local service.
	 *
	 * @return the f a q question local service
	 */
	public FAQQuestionLocalService getFAQQuestionLocalService() {
		return faqQuestionLocalService;
	}

	/**
	 * Sets the f a q question local service.
	 *
	 * @param faqQuestionLocalService the f a q question local service
	 */
	public void setFAQQuestionLocalService(
		FAQQuestionLocalService faqQuestionLocalService) {
		this.faqQuestionLocalService = faqQuestionLocalService;
	}

	/**
	 * Returns the f a q question persistence.
	 *
	 * @return the f a q question persistence
	 */
	public FAQQuestionPersistence getFAQQuestionPersistence() {
		return faqQuestionPersistence;
	}

	/**
	 * Sets the f a q question persistence.
	 *
	 * @param faqQuestionPersistence the f a q question persistence
	 */
	public void setFAQQuestionPersistence(
		FAQQuestionPersistence faqQuestionPersistence) {
		this.faqQuestionPersistence = faqQuestionPersistence;
	}

	/**
	 * Returns the f a q question finder.
	 *
	 * @return the f a q question finder
	 */
	public FAQQuestionFinder getFAQQuestionFinder() {
		return faqQuestionFinder;
	}

	/**
	 * Sets the f a q question finder.
	 *
	 * @param faqQuestionFinder the f a q question finder
	 */
	public void setFAQQuestionFinder(FAQQuestionFinder faqQuestionFinder) {
		this.faqQuestionFinder = faqQuestionFinder;
	}

	/**
	 * Returns the counter local service.
	 *
	 * @return the counter local service
	 */
	public CounterLocalService getCounterLocalService() {
		return counterLocalService;
	}

	/**
	 * Sets the counter local service.
	 *
	 * @param counterLocalService the counter local service
	 */
	public void setCounterLocalService(CounterLocalService counterLocalService) {
		this.counterLocalService = counterLocalService;
	}

	/**
	 * Returns the resource local service.
	 *
	 * @return the resource local service
	 */
	public ResourceLocalService getResourceLocalService() {
		return resourceLocalService;
	}

	/**
	 * Sets the resource local service.
	 *
	 * @param resourceLocalService the resource local service
	 */
	public void setResourceLocalService(
		ResourceLocalService resourceLocalService) {
		this.resourceLocalService = resourceLocalService;
	}

	/**
	 * Returns the resource remote service.
	 *
	 * @return the resource remote service
	 */
	public ResourceService getResourceService() {
		return resourceService;
	}

	/**
	 * Sets the resource remote service.
	 *
	 * @param resourceService the resource remote service
	 */
	public void setResourceService(ResourceService resourceService) {
		this.resourceService = resourceService;
	}

	/**
	 * Returns the resource persistence.
	 *
	 * @return the resource persistence
	 */
	public ResourcePersistence getResourcePersistence() {
		return resourcePersistence;
	}

	/**
	 * Sets the resource persistence.
	 *
	 * @param resourcePersistence the resource persistence
	 */
	public void setResourcePersistence(ResourcePersistence resourcePersistence) {
		this.resourcePersistence = resourcePersistence;
	}

	/**
	 * Returns the user local service.
	 *
	 * @return the user local service
	 */
	public UserLocalService getUserLocalService() {
		return userLocalService;
	}

	/**
	 * Sets the user local service.
	 *
	 * @param userLocalService the user local service
	 */
	public void setUserLocalService(UserLocalService userLocalService) {
		this.userLocalService = userLocalService;
	}

	/**
	 * Returns the user remote service.
	 *
	 * @return the user remote service
	 */
	public UserService getUserService() {
		return userService;
	}

	/**
	 * Sets the user remote service.
	 *
	 * @param userService the user remote service
	 */
	public void setUserService(UserService userService) {
		this.userService = userService;
	}

	/**
	 * Returns the user persistence.
	 *
	 * @return the user persistence
	 */
	public UserPersistence getUserPersistence() {
		return userPersistence;
	}

	/**
	 * Sets the user persistence.
	 *
	 * @param userPersistence the user persistence
	 */
	public void setUserPersistence(UserPersistence userPersistence) {
		this.userPersistence = userPersistence;
	}

	public void afterPropertiesSet() {
		PersistedModelLocalServiceRegistryUtil.register("com.vportal.portlet.vfaq.model.FAQCategoryQuestion",
			faqCategoryQuestionLocalService);
	}

	public void destroy() {
		PersistedModelLocalServiceRegistryUtil.unregister(
			"com.vportal.portlet.vfaq.model.FAQCategoryQuestion");
	}

	/**
	 * Returns the Spring bean ID for this bean.
	 *
	 * @return the Spring bean ID for this bean
	 */
	public String getBeanIdentifier() {
		return _beanIdentifier;
	}

	/**
	 * Sets the Spring bean ID for this bean.
	 *
	 * @param beanIdentifier the Spring bean ID for this bean
	 */
	public void setBeanIdentifier(String beanIdentifier) {
		_beanIdentifier = beanIdentifier;
	}

	protected Class<?> getModelClass() {
		return FAQCategoryQuestion.class;
	}

	protected String getModelClassName() {
		return FAQCategoryQuestion.class.getName();
	}

	/**
	 * Performs an SQL query.
	 *
	 * @param sql the sql query
	 */
	protected void runSQL(String sql) throws SystemException {
		try {
			DataSource dataSource = faqCategoryQuestionPersistence.getDataSource();

			SqlUpdate sqlUpdate = SqlUpdateFactoryUtil.getSqlUpdate(dataSource,
					sql, new int[0]);

			sqlUpdate.update();
		}
		catch (Exception e) {
			throw new SystemException(e);
		}
	}

	@BeanReference(type = FAQAnswerLocalService.class)
	protected FAQAnswerLocalService faqAnswerLocalService;
	@BeanReference(type = FAQAnswerPersistence.class)
	protected FAQAnswerPersistence faqAnswerPersistence;
	@BeanReference(type = FAQAnswerFinder.class)
	protected FAQAnswerFinder faqAnswerFinder;
	@BeanReference(type = FAQCategoryLocalService.class)
	protected FAQCategoryLocalService faqCategoryLocalService;
	@BeanReference(type = FAQCategoryPersistence.class)
	protected FAQCategoryPersistence faqCategoryPersistence;
	@BeanReference(type = FAQCategoryFinder.class)
	protected FAQCategoryFinder faqCategoryFinder;
	@BeanReference(type = FAQCategoryQuestionLocalService.class)
	protected FAQCategoryQuestionLocalService faqCategoryQuestionLocalService;
	@BeanReference(type = FAQCategoryQuestionPersistence.class)
	protected FAQCategoryQuestionPersistence faqCategoryQuestionPersistence;
	@BeanReference(type = FAQCommentLocalService.class)
	protected FAQCommentLocalService faqCommentLocalService;
	@BeanReference(type = FAQCommentPersistence.class)
	protected FAQCommentPersistence faqCommentPersistence;
	@BeanReference(type = FAQCommentFinder.class)
	protected FAQCommentFinder faqCommentFinder;
	@BeanReference(type = FAQQuestionLocalService.class)
	protected FAQQuestionLocalService faqQuestionLocalService;
	@BeanReference(type = FAQQuestionPersistence.class)
	protected FAQQuestionPersistence faqQuestionPersistence;
	@BeanReference(type = FAQQuestionFinder.class)
	protected FAQQuestionFinder faqQuestionFinder;
	@BeanReference(type = CounterLocalService.class)
	protected CounterLocalService counterLocalService;
	@BeanReference(type = ResourceLocalService.class)
	protected ResourceLocalService resourceLocalService;
	@BeanReference(type = ResourceService.class)
	protected ResourceService resourceService;
	@BeanReference(type = ResourcePersistence.class)
	protected ResourcePersistence resourcePersistence;
	@BeanReference(type = UserLocalService.class)
	protected UserLocalService userLocalService;
	@BeanReference(type = UserService.class)
	protected UserService userService;
	@BeanReference(type = UserPersistence.class)
	protected UserPersistence userPersistence;
	private static Log _log = LogFactoryUtil.getLog(FAQCategoryQuestionLocalServiceBaseImpl.class);
	private String _beanIdentifier;
}